Data holding circuit including latch circuit and storing circuit having MTJ elements and data recovery method

ABSTRACT

A data holding circuit includes: a latch circuit having a first terminal and a second terminal, a logical value held at the first terminal being changed according to a value to be held by the data holding circuit, and the second terminal holding an inverted logical value of the logical value held at the first terminal; and a storing circuit which stores the logical values held at the first terminal and the second terminal in response to a write signal, and sets the logical values held at the first terminal and the second terminal to the stored logical values in response to a read signal, wherein the storing circuit includes two Magnetic Tunnel Junction elements which are connected in series between the first terminal and the second terminal and in reverse directions to each other.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority of theprior Japanese Patent Application No. 2014-139960, filed on Jul. 7,2014, the entire contents of which are incorporated herein by reference.

FIELD

The technique disclosed herein relates to a data holding circuit and adata recovery method.

BACKGROUND

Semiconductor devices are desired to reduce power consumption. Further,semiconductor devices used in a system are desired to reduce powerconsumption by intentionally stopping power supply to constitutionalelements, except for basic constitutional elements which need to operatein order to maintain the operation of the system. In order to realizethe above-mentioned stop of power supply in the semiconductor device,when power is supplied again, elements including data holding circuits,which carry out data holding operations in normal circuitry operations,may be required to continue processing operations by using data held inthe data holding circuits before the stop of the power supply.

In order to realize the above operations, data which is necessary to setthe data holding circuits when the power is supplied again istemporarily stored in memory cells before the stop of the power supply,and the data holding circuits are set according to the stored data afterthe power is supplied again. These data holding circuits, which are setaccording to the stored data, are a part of constitutional elements towhich the power supply is stopped. Thus, data set according to thestored data may be carried out to a part of many data holding circuits.

However, in the above constitution, the semiconductor device includesmemory cells in addition to normal operational circuits having theconstitutional elements. If the power supply to the memory cells is alsostopped, the memory cells are required to be non-volatile. Further, whenthe power supply is stopped, an operation obtaining data in the dataholding circuits and an operation storing the obtained data to thememory cells are sequentially carried out. Further, when the power issupplied again, an operation reading the stored data from the memorycells and an operation setting the read data to the data holdingcircuits are sequentially carried out.

Various memories have been known as non-volatile memory devices whichhold data of when power supply to the devices is stopped, and integratedcircuits in which MTJ (Magnetic Tunnel Junction) elements are formedhave been known. In particular, non-volatile memories in which memorycells including MTJ elements are arranged at cross-points of a pluralityof word lines and a plurality of bit lines have been proposed. However,these non-volatile memories including MTJ elements are memory deviceswhich are used in place of NAND-type flash memories, etc.

RELATED DOCUMENTS

-   [Patent Document 1] Japanese Laid Open Patent Publication No.    2009-26382-   [Patent Document 2] Japanese Laid Open Patent Publication No.    2004-234707-   [Patent Document 3] Japanese Laid Open Patent Publication No.    2012-89187

SUMMARY

According to a first aspect of embodiments, a data holding circuitincluding: a latch circuit having a first terminal and a secondterminal, a logical value held at the first terminal being changedaccording to a value to be held by the data holding circuit, and thesecond terminal holding an inverted logical value of the logical valueheld at the first terminal; and a storing circuit which stores thelogical values held at the first terminal and the second terminal inresponse to a write signal, and sets the logical values held at thefirst terminal and the second terminal to the stored logical values inresponse to a read signal, wherein the storing circuit includes twoMagnetic Tunnel Junction elements which are connected in series betweenthe first terminal and the second terminal and in reverse directions toeach other.

The object and advantages of the embodiments will be realized andattained by means of the elements and combination particularly indicatedin the claims.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory and arenot restrictive of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a circuit diagram illustrating an example of aclock-synchronous-type flip-flop (FF) which is widely used as a dataholding circuit;

FIG. 2 is a time chart illustrating operations of the FF of FIG. 1 whena power supply is stopped and the power is then supplied again;

FIG. 3 is a circuit diagram illustrating a data holding circuit of afirst embodiment;

FIG. 4A is a diagram illustrating a constitution of an MTJ element;

FIG. 4B is a diagram illustrating a symbol representing the MTJ element;

FIG. 5 is a time chart illustrating operations in the data holdingcircuit of the first embodiment when the power supply is stopped and thepower is then supplied again;

FIGS. 6A and 6B are diagrams illustrating the write operation and theread operation in the latch circuit at the second stage of the dataholding circuit of the first embodiment;

FIG. 7 is a circuit diagram of a data holding circuit of a secondembodiment;

FIGS. 8A and 8B are diagrams explaining a potential level at aconnection node of MTJ1 and MTJ2 in a write operation;

FIG. 9 is a time chart illustrating changes of a write signal MS, apotential of a node US10, and a write control signal MSBB.

DESCRIPTION OF EMBODIMENTS

Before explaining data holding circuits of the embodiments, a generaldata holding circuit will be explained.

FIG. 1 is a circuit diagram illustrating an example of aclock-synchronous-type flip-flop (FF) which is widely used as a dataholding circuit.

As illustrated at a lower portion in FIG. 1, inverters, which areconnected in series to form two stages, generate a positive-phase clockCLK0 and a negative-phase clock CLKB from a clock CLK. Theclock-synchronous-type FF operates according to CLK0 and CLKB.

The clock-synchronous-type flip-flop (FF) includes: an input gate; aflip-flop portion; and an output inverter.

The input gate includes two P-channel transistors P1 and P2, and twoN-channel transistors N1 and N2, which are connected in series betweenpower supply lines VDD and VSS. Input data DATA is applied to gates ofP1 and N1, CLK0 is applied to a gate of P2, and CLKB is applied to agate of N2. The input gate inverts the input data DATA and outputs theinverted data to the flip-flop portion in a former half duration of acycle of the clock CLK, in which CLK is at a low level, and the inputgate maintains the output to be high-impedance in a later half durationof a cycle of CLK, in which CLK is at a high level.

The flip-flop portion includes a first stage 11; a transfer gate TG1;and a second stage 12. The first stage and the second stage are formedby latch circuits. The first stage includes an inverter Inv1 and aclock-synchronous-type inverter GInv1. Inputs and outputs of Inv1 andGInv1 are connected to each other. The output of the input gate isconnected to the input of the first stage (namely, the input of Inv1 andthe output of GInv1), and the output of the first stage (namely, theoutput of Inv1 and the input of GInv1) is connected to TG1. The secondstage includes an inverter Inv2 and a clock-synchronous-type inverterGInv2. Inputs and outputs of Inv2 and GInv2 are connected to each other.An output of TG1 is connected to an input node US2 of the second stage(namely, the input of Inv2 and the output of GInv2), and an output nodeUS1 of the second stage (namely, the output of Inv2 and the input ofGInv2) is connected to the output inverter Inv3. An output of Inv3becomes an output Q of the FF.

The output of GInv1 becomes high-impedance in the former half durationof the clock, and the output of GInv1 becomes active in the later halfduration of the clock. The output of GInv2 becomes active in the formerhalf duration of the clock, and the output of GInv2 becomeshigh-impedance in the later half duration of the clock. In other words,operational phases of GInv1 and GInv2 are reverse to each other. Theoutput of TG1 becomes a high-impedance in the former half duration ofthe clock and TG1 becomes a through-state in the later half duration ofthe clock.

Since the circuitry constitution and operations of the FF illustrated inFIG. 1 have been well known, further explanations are omitted.

A clock-synchronous-type operational circuit includes numerous FFsillustrated in FIG. 1 since the circuit totally operate in synchronouswith the clock and total operations of the circuit are correctlycontrolled although delays respectively occur in respective portions ofthe circuit. When the clock CLK is stopped to be supplied to the FFillustrated in FIG. 1, the FF continues to hold the data of when CLK isstopped.

The FF illustrated in FIG. 1 continues to hold the data of when theclock is stopped during a power is supplied to the FF. However, a dataholding function of the FF is not available for the stop of powersupply. Therefore, when power supply is stopped, nodes in the circuitbecome to uncertain states, and the data of before the stop of powersupply is not held. Accordingly, in order to recover the state of beforethe stop of power supply when power is supplied again, additional memorycells, etc., for storing data are provided outside the data holdingcircuit. The data held in the data holding circuit is stored in theadditional memory cells before power supply is stopped, and the dataholding circuit is set to the state of before the stop of power supplyaccording to the data read from the additional memory cells.

FIG. 2 is a time chart illustrating operations of the FF of FIG. 1 whena power supply is stopped and the power is then supplied again.

When POWER SUPPLY is changed from on to off (the supply is stopped) at atime designated by X, Q OUTPUT is uncertain. FIG. 2 illustrates thatinput data DATA also becomes uncertain and no CLK is input during thepower supply is stopped. As described later, in order to recoverprevious data, Q OUTPUT (or input data DATA) is stored in memory cellsbefore the power supply is stopped.

When POWER SUPPLY is changed from off to on (the power is suppliedagain) and CLK is started to be input at a time designated by Y,uncertain input data DATA at that time becomes Q OUTPUT. It is differentaccording to the state of the circuit what data is output, namely, QOUTPUT is uncertain. Therefore, in order to recover the data holdingcircuit to output the previous data of before the power supply isstopped, the input data DATA or Q OUTPUT, which is stored in the memorycells, is input as the input data DATA. Thus, the previous data isrecovered in synchronous with the next rising edge of CLK.

As described above, in order to recover the previous data, Q OUTPUT isread from each FF and stored in the memory cell before the power supplyis stopped, and the stored data read from the memory cell is input tothe FF when the power is supplied again. In other words, data transferfrom the FF to the memory cell and data transfer from the memory cell tothe FF are carried out. These transfers are carried out for each FF.Therefore, when a plurality of FFs of which data is recovered, aplurality of data transfers are respectively carried out before thepower supply is stopped and after the power is supplied again.Accordingly, when a number of FFs of which data is recovered is large, atime to be required to carry out the data transfers before the powersupply is stopped and after the power is supplied again becomes large.

A non-volatile memory using MTJ (Magnetic Tunnel Junction) elements hasbeen known. The MTJ element is a variable resistance element which has aresistance characteristic different for current directions and of whichresistance changes when a flowing direction of a write current ischanged. When data is written, the write current is flew through the MTJelement by changing a direction of the write current according to avalue of the write data, and a value of the resistance of the MTJelement is changed according to the direction of the write current. Whenthe written data is read, a voltage difference or a current differenceaccording to the difference of the resistance value is detected when aread current flows. A value of the read current is smaller than that ofthe write current so that the read current does not change a state ofthe MTJ element.

Various types of non-volatile memories including MTJ elements arrangedat cross-points of a plurality of word lines and a plurality of bitlines have been proposed as semiconductor devices using MTJ elements.However, none of these devices are intended to replace NAND-type flashmemories. Therefore, when the non-volatile memories including MTJelements are used, they are used as memory cells for storing Q OUTPUTsobtained from respective FFs before the power supply is stopped. Asdescribe above, since the data transfers before the power supply isstopped and after the power is supplied again are carried out in thisconstitution, there is a problem that processing time for carrying outthe data transfers is long.

In each of data holding circuits of embodiments described in thefollowing, a storing circuit including two MTJ elements is attached to adata holding circuit, and the data holding circuit recovers a previousdata of before a power supply is stopped. When there is a plurality ofdata holding circuits each of which previous data is recovered, theplurality of data holding circuits carry out the storing and settingoperations of data in parallel.

FIG. 3 is a circuit diagram illustrating a data holding circuit of afirst embodiment. The data holding circuit of the first embodiment issimilar to the clock-synchronous-type flip-flop (FF) illustrated in FIG.1.

As illustrated in FIG. 3, inverters, which are connected in series toform two stages, generate a positive-phase clock CLK0 and anegative-phase clock CLKB from a clock CLK. Further, one invertergenerates an inverted write signal MSB from a write signal MS. The dataholding circuit of the first embodiment operates according to CLK0,CLKB, MS, MSB and a read signal MR.

The data holding circuit of the first embodiment includes: an inputgate; a flip-flop portion; and an output inverter Inv3. The flip-flopportion includes; a first stage; a transfer gate TG; and a second stage.The input gate, the first stage and the transfer gate of the flip-flopportion, and the output inverter Inv3 are same as those of FIG. 1.Therefore, the data holding circuit of the first embodiment is same asthose of the FF of FIG. 1, except that the second stage of the firstembodiment differs from that of the FF of FIG. 1. In the following, onlydifferent portions will be described.

The second stage of the flip-flop portion of the data holding circuit ofthe first embodiment has a constitution in which a storing circuit isadded to a latch circuit of the second stage of the flip-flop portion ofFIG. 1.

The storing circuit includes: two MTJ elements MTJ1 and MTJ2; a writecircuit; a read circuit. The write circuit sets MTJ1 and MTJ2 to bestates corresponding to logical values of nodes US1 and US2 of the latchcircuit of the second stage in response to signals MS and MSB before apower supply is stopped. The read circuit sets the nodes US1 and US2 ofthe latch circuit of the second stage to have logical valuescorresponding to the states of MTJ1 and MTJ2 when the power is suppliedagain. The node US1 of the second stage is a node to which an output ofInv2 and an input of GInv2 are connected, and the node US1 is connectedto Inv3. The node US2 of the second stage is a node to which an input ofInv2 and an output of GInv2 are connected, and the node US2 is connectedto TG1.

The write circuit includes: an inverter Inv12 and a transfer gate TG11connected in series between US1 and MTJ1; and an inverter Inv13 and atransfer gate TG12 connected in series between US2 and MTJ2.

The read circuit includes: a P-channel transistor P11 connected betweenUS1 and US2; an inverter Inv11 inverting MR and applying the inverted MRto a gate of P11; an N-channel transistor N11 connected between US1 andMTJ1; an N-channel transistor N12 connected between US2 and MTJ2; and anN-channel transistor N13 connected between a connection node of MTJ1 andMTJ2 and a low potential power supply VSS.

FIG. 4A is a diagram illustrating a constitution of the MTJ element, andFIG. 4B is a diagram illustrating a symbol representing the MTJ element.

As illustrated in FIG. 4A, the MTJ element includes: an MgO dielectriclayer 22; a magnetization direction unfixed layer 21 of CoFeB arrangedat one side of the MgO dielectric layer 22; and a magnetizationdirection fixed layer 23 of CoFeB arranged at the other side of the MgOdielectric layer 22. The MTJ element changes its resistance accordingcurrent directions. In other words, a resistance of the MTJ element ofwhen the write current flows from the magnetization direction unfixedlayer 21 to the magnetization direction fixed layer 23 is different fromthat of when the write current flows in an opposite direction withrespect to the above direction. The MTJ element stores a logical value(data) by using this characteristic that the resistance changesaccording to a direction of the write current. When the written data isread, a voltage difference or a current difference according to thedifference of the resistance value is detected when a read currentflows. A value of the read current is smaller than that of the writecurrent so that the read current does not change the state of the MTJelement. In the first embodiment, the resistance becomes comparativelylarge when the write current flows in a direction (reverse direction)from the magnetization direction unfixed layer (TEL) 21 to themagnetization direction fixed layer (BEL) 23 and becomes comparativelysmall when the write current flows in a direction (forward direction)from the magnetization direction fixed layer (BEL) 23 to themagnetization direction unfixed layer (TEL) 21.

The MTJ element is represented by the symbol illustrated in FIG. 4B.

In FIG. 3, MTJ1 and MTJ2 are arranged so that magnetization layers ofthe same type of MTJ1 and MTJ2 face to the connection node. In otherwords, magnetization layers of the same type of MTJ1 and MTJ2 face toeach other via the connection node. In the first embodiment, BEL of MTJ1is connected to N11 and TEL of MTJ1 is connected to N13. BEL of MTJ2 isconnected to N12 and TEL of MTJ2 is connected to N13. Accordingly, apath from N11 to N13 through MTJ1 is a forward direction, and a pathfrom N12 to N13 through MTJ2 is a forward direction.

FIG. 5 is a time chart illustrating operations in the data holdingcircuit of the first embodiment when the power supply is stopped and thepower is then supplied again.

Before the POWER SUPPLY is changed from on to off (the power supply isstopped), the write signal MS rises at a time designated by S. Inresponse to the rise of MS, MTJ1 and MTJ2 becomes to statescorresponding to logical values of nodes US1 and US2. This operation isreferred to as a write operation. After the write operation iscompleted, MS falls and the power supply is stopped.

When the power supply is stopped, Q OUTPUT becomes uncertain. However,since MTJ1 and MTJ2 hold their states after the power supply is stopped,the states which are set in the write operation are maintained.

When POWER SUPPLY is changed to on (the power is supplied again) afterit is changed from on to off, Q OUTPUT is maintained at the uncertainstate. In this state, the read signal MR rises at a time designated byR. In response to the rise of MR, US3 becomes low. Then, MR falls,logical values of the nodes US1 and US2 change to values correspondingto the logical values which were set at MTJ1 and MTJ2, and Q OUTPUTchanges to the logical value of before the power supply is stopped. Thisoperation is referred to as a read operation. Thus, the data holdingcircuit is recovered to the state of before the power supply is stopped,and the data holding circuit becomes to a normal state operatingaccording to the clock CLK.

FIGS. 6A and 6B are diagrams illustrating the write operation and theread operation in the latch circuit at the second stage of the dataholding circuit of the first embodiment. FIG. 6A illustrates a currentpath in the write operation when Q OUTPUT is low, node US1 is high, andnode US2 is low in the latch circuit of the second stage. FIG. 6Billustrates a current path in the read operation when MTJ1 has acomparatively large resistance and MTJ2 has a comparatively smallresistance.

In the write operation, the write signal MS is set to high, and the readsignal MR is maintained at low. At this condition, the clock CLK is notinput, namely, CLK is maintained at low. Accordingly, as illustrated inFIG. 6A, during the write operation, P11, N11, N12 and N13 are turnedoff.

When the write signal MS is changed to high, TG11 and TG12 become athrough-state. In FIG. 6A, an output of Inv12 is low since node US1 ishigh, and an output of Inv13 is high since node US2 is low. Accordingly,a current path from an output of Inv13, of which level is high, to anoutput of Inv12, of which level is low, via TG12, MTJ2, MTJ1 and TG11 isformed, and a current flows along this current path. Therefore, thecurrent flows in the reverse direction through MTJ1, and the currentflows in the forward direction through MTJ2. By this, the writeoperation in which MTJ1 is set to have a resistance of large and MTJ2 isset to have a resistance of small is carried out.

When Q OUTPUT is high, node US1 is low and node US2 is high, a writecurrent flows a path from the output of Inv12, of which level is high,to the output of Inv13, of which level is low, via TG11, MTJ1, MTJ2 andTG12. By this, the write operation in which MTJ1 is set to have aresistance of small and MTJ2 is set to have a resistance of large iscarried out.

As described above, the write operation in which states of MTJ1 and MTJ2are set to states corresponding to the data held at the latch circuit ofthe second stage (namely, the data holding circuit) is carried out, andthe data held by the latch circuit is stored in MTJ1 and MTJ2. When thewrite operation is completed, the write signal MS is returned to low. Inpractice, a time duration to fully change the states of MTJ1 and MTJ2 ispreviously determined, and MS is set high during that time duration.

In the read operation, the write signal MS is maintained at low, and theread signal MR is set to high. At this condition, the clock CLK is notinput, namely, CLK is maintained at low. Accordingly, as illustrated inFIG. 6B, during the write operation, TG11 and TG12 are turned off.

When the read signal MR is changed to high, P11 turns on, and N11, N12and N13 in FIG. 3 turn on. By this, US1 and US2 become low. Then, MRreturns to low, P11, N11, N12 and N13 turn off, and one of US1 and US2becomes high. At this time, currents flow through a path from US1 to N13via N11 and MTJ1 and a path from US2 to N13 via N12 and MTJ2. Adifference between the currents flowing through the two paths isgenerated since the resistance of MTJ1 and the resistance of MTJ2 isdifferent as described above. By the difference, the latch circuit isrecovered to a state of when the write operation is carried out.

In FIG. 6B, since the resistance of MTJ1 is large and the resistance ofMTJ2 is small, a current flowing through MTJ1 is smaller than a currentflowing through MTJ2. Therefore, US1 becomes high, US2 becomes low, andQ OUTPUT becomes low.

When the resistance of MTJ1 is small and the resistance of MTJ2 islarge, the current flowing through MTJ1 is larger than the currentflowing through MTJ2. Therefore, US1 becomes low, US2 becomes high, andQ OUTPUT becomes high.

As described above, the read operation in which the latch circuit of thesecond stage (namely, the data holding circuit) is set to a statecorresponding to the states of MTJ1 and MTJ2 is carried out. In otherwords, the data held in the data holding circuit of before the powersupply is stopped is recovered. When the read operation is completed,the read signal MR is returned to low.

FIG. 7 is a circuit diagram of a data holding circuit of a secondembodiment.

The data holding circuit of the second embodiment differs from the dataholding circuit of the first embodiment in that a circuit for reducingcurrent consumption in the write operation is newly provided. Otherportions of the data holding circuit of the second embodiment are sameas those of the first embodiment. In the following, only differentportions will be described.

The data holding circuit of the second embodiment is a circuit in whicha write control circuit is provided in the data holding circuit of thefirst embodiment. The write control circuit stops the write signal whena potential at the connection node US10 of the two MTJ elements MTJ1 andMTJ2 becomes high in the write operation.

The write control circuit includes: an N-channel transistor N21; aP-channel transistor P21; inverters Inv21-Inv23; and a gate NAND1. Oneof terminals of N21 is connected to the node US10, the other ofterminals of N21 is connected to an input of Inv21, and the write signalMS is applied to a gate of N21. P21 is connected between the high-sidepower supply line VDD and a connection node of N21 and Inv21, and thewrite signal MS is applied to a gate of N21. An input of N21 isconnected to a connection node of N21 and P21, and an output of Inv21 isinput to NAND1. NAND1 receives the write signal MS and the output ofInv21. Inv22 inverts an output of NAND1 to output a write control signalMSBB. Inv23 inverts the write control signal MSBB to output an invertedwrite control signal MSB. MSB and MSBB are applied to gates of TG11 andTG12.

In the first embodiment, the write signal MS and the inverted writesignal MSB are applied to the gates of TG11 and TG12, TG11 and TG12become the through-state during MS is high, and the write current flows.As described above, the time duration in which MS is high is determinedso that the states of MTJ1 and MTJ2 are certainly changed with referenceto tolerances of processes, a temperature, a supply voltage, etc. Whenthe time duration is determined is the above-mentioned way, the writecurrent continues to flow after the latch circuit is set to the statecorresponding to the stored data. This wastes the current. Inparticular, when the states of MTJ1 and MTJ2 have already become statescorresponding to data held by the data holding circuit, the writecurrent are almost wasted.

In the second embodiment, it is noted that a potential at the connectionnode US10 of MTJ1 and MTJ2 certainly becomes higher than a predeterminedlevel when MTJ1 and MTJ2 become states corresponding to data held by thedata holding circuit.

FIGS. 8A and 8B are diagrams explaining the potential level at theconnection node US10 of MTJ1 and MTJ2 in the write operation.

FIG. 8A illustrates a current flowing through MTJ1 and MTJ2 when QOUTPUT is low, node N11 is high, and node N12 is low, namely, “Low” iswritten. A potential of the node N11 is represented as /Q since it is aninverted level of the Q OUTPUT, and a potential of the node N12 isrepresented as Q′ since it is same as the level of the Q OUTPUT. Since/Q, namely a signal of high level is applied to a gate of Inv12,N-channel transistor (NchTr) of Inv12 turns on. Since Q′, namely asignal of low level is applied to a gate of Inv13, P-channel transistor(PchTr) of Inv13 turns on. Since TG11 and TG12 are at through-state, acurrent path from PchTr of Inv13 to NchTr of Inv12 via TG12, MTJ2, MTJ1and TG11 is formed. Since the write current flows through this path, theresistance of MTJ1 is set to be large, and the resistance of MTJ2 is setto be small. In other words, when the resistance of MTJ1 is set to belarge and the resistance of MTJ2 is set to be small, the write operationis completed.

For example, it is assumed that the resistance of MTJ1 is small and theresistance of MTJ2 is large when the write operation is started. At aninitial period in which the write current flows as illustrated in FIG.8A, the potential of the node US10 is determined by a ratio ofresistances of MTJ1 and MTJ1 and it is lower than an intermediate levelof VDD and VSS. Then, the resistance of MTJ1 changes to be large and theresistance of MTJ2 changes to be small by the write current. By this,the potential of the node US10 becomes higher than the intermediatelevel of VDD and VSS. Further, it is assumed that the resistance of MTJ1is large and the resistance of MTJ2 is small when the write operation isstarted. At the initial period, the potential of the node US10 is higherthan the intermediate level of VDD and VSS. This state does not changealthough the write operation is carried out. In other words, a state inwhich the potential of the node US10 is higher than the intermediatelevel of VDD and VSS is a state in which the write operation iscompleted in spite of the previous state.

FIG. 8B illustrates a current flowing through MTJ1 and MTJ2 when QOUTPUT is high, node N11 is low, and node N12 is high, namely, “High” iswritten. A current path from PchTr of Inv12 to NchTr of Inv13 via TG11,MTJ1, MTJ2 and TG12 is formed. Since the write current flows throughMTJ1 in the forward direction, the resistance of MTJ1 is set to besmall. Since the write current flows through MTJ2 in the reversedirection, the resistance of MTJ2 is set to be large. In this case, astate in which the potential of the node US10 is higher than theintermediate level of VDD and VSS is also a state in which the writeoperation is completed in spite of the previous state.

Accordingly, in both cases in which the “low” state and the “high” stateare written, when the potential of the node US10 is higher than theintermediate level of VDD and VSS, the write operation is completed.

In the second embodiment, when the write operation is carried out, P21turns off, N21 becomes in the through state, and an intermediate levelof VDD and the potential of US10 is generated at ms_s. A potential ofms_s changes according to the potential of US10. A threshold level ofInv21 is set to the potential of ms_s when the potential of US10 is thepredetermined level. By this, when the potential of US10 becomes higherthan the predetermined level, an output of Inv21 changes to low, MSBBchanges to low, and MSB changes to high. This change is equivalent tothat the write signal becomes low. TG11 and TG12 to which MSB and MSBBare applied turn off, and the write operation is finished. Thus, in thesecond embodiment, when the potential of the node US10 designates thatMTJ1 and MTJ2 becomes states corresponding to the data held in the latchcircuit, the write signal is finished, and the write operation isfinished.

FIG. 9 is a time chart illustrating changes of a write signal MS, apotential of a node US10, and a write control signal MSBB. The left sideof the time chart illustrates a case in which conditions of MTJ1 andMTJ2 (namely, values maintained by MTJ1 and MTJ2) are different fromvalues maintained in the data holding circuit (the latch circuit). Inother words, the left side of the time chart illustrates a case in whichthe conditions of MTJ1 and MTJ2 are changed by the write operation. Theright side of the time chart illustrates a case in which the conditionsof MTJ1 and MTJ2 are not changed by the write operation.

The write signal MS is a signal which becomes high for a predeterminedperiod. When the conditions of MTJ1 and MTJ2 are changed, a writecurrent flows during the period in which the write signal MS is high. Bythis, as illustrated in the left side, the potential of US10 oncechanges from an intermediate level to a low level, and then changes tothe high level and is stable at the high level. When the potential ofUS10 becomes to the high level, the changes of the conditions of MTJ1and MTJ2 by the write operation are finished. However, the write currentcontinues to flow during the write signal MS is high. The currentflowing after the potential of US10 becomes high is wasteful.

When the conditions of MTJ1 and MTJ2 are not changed, as illustrated inthe right side, the potential of US10 promptly increases from theintermediate level to a high level, and is stable at the high level. Inthis case, a flowing current during the write signal MS is high isalmost wasteful.

In the second embodiment, as illustrated in FIG. 9, the write controlsignal MSBB returns to low when the potential of US10 becomes higherthan a predetermined level. Therefore, the write operation is completedand the waste current does not flow. Accordingly, since the writecurrent does not flow during the periods designated by arrows in FIG. 9,the power consumed in the write operation are reduced.

All examples and conditional language provided herein are intended forpedagogical purposes of aiding the reader in understanding the inventionand the concepts contributed by the inventor to further the art, and arenot to be construed as limitations to such specifically recited examplesand conditions, nor does the organization of such examples in thespecification relate to a illustrating of the superiority andinferiority of the invention. Although one or more embodiments of thepresent invention have been described in detail, it should be understoodthat the various changes, substitutions, and alterations could be madehereto without departing from the spirit and scope of the invention.

What is claimed is:
 1. A data holding circuit comprising: a latchcircuit having a first terminal and a second terminal, a logical valueheld at the first terminal being changed according to a value to be heldby the data holding circuit, and the second terminal holding an invertedlogical value of the logical value held at the first terminal; and astoring circuit which stores the logical values held at the firstterminal and the second terminal in response to a write signal, and setsthe logical values held at the first terminal and the second terminal tothe stored logical values in response to a read signal, wherein thestoring circuit includes two Magnetic Tunnel Junction elements which areconnected in series between the first terminal and the second terminaland in reverse directions to each other, and the storing circuitincludes a write circuit which flows a write current from one of thefirst terminal and the second terminal to the other of the firstterminal and the second terminal via the two Magnetic Tunnel Junctionelements in response to the write signal, a potential of the one of thefirst terminal and the second terminal being higher than a potential ofthe other of the first terminal and the second terminal, and sets thetwo Magnetic Tunnel Junction elements in conditions corresponding to adirection of the write current.
 2. The data holding circuit according toclaim 1, wherein the storing circuit includes a read circuit which flowscurrents through a first path from the first terminal to one of the twoMagnetic Tunnel Junction elements and through a second path from thesecond terminal to the other of the two Magnetic Tunnel Junctionelements in response to the read signal, and sets logical values of thefirst terminal and the second terminal to be values corresponding to adifference of the conditions of the two Magnetic Tunnel Junctionelements.
 3. The data holding circuit according to claim 2, wherein thewrite circuit includes a write control circuit which stops the writesignal when a potential of a connection node of the two Magnetic TunnelJunction elements becomes a first level.
 4. The data holding circuitaccording to claim 1, wherein the latch circuit is one of two latchcircuits forming a flip-flop circuit and forming a later stage of theflip-flop circuit.
 5. A semiconductor device including a data holdingcircuit, the data holding circuit comprising: a latch circuit having afirst terminal and a second terminal, a logical value held at the firstterminal being changed according to a value to be held by the dataholding circuit, and the second terminal holding an inverted logicalvalue of the logical value held at the first terminal; and a storingcircuit which stores the logical values held at the first terminal andthe second terminal in response to a write signal, and sets the logicalvalues held at the first terminal and the second terminal to the storedlogical values in response to a read signal, wherein the storing circuitincludes two Magnetic Tunnel Junction elements which are connected inseries between the first terminal and the second terminal and in reversedirections to each other, and the storing circuit includes a writecircuit which flows a write current from one of the first terminal andthe second terminal to the other of the first terminal and the secondterminal via the two Magnetic Tunnel Junction elements in response tothe write signal, a potential of the one of the first terminal and thesecond terminal being higher than a potential of the other of the firstterminal and the second terminal, and sets the two Magnetic TunnelJunction elements in conditions corresponding to a direction of thewrite current.
 6. A holding data recovery method storing a value held bya latch circuit having a first terminal and a second terminal, thesecond terminal holding an inverted logical value of the logical valueheld at the first terminal, before a power supply is stopped, andsetting the stored value in the latch circuit when the power is suppliedagain, comprising: before a power supply being stopped, flowing a writecurrent from one of the first terminal and the second terminal to theother of the first terminal and the second terminal via two MagneticTunnel Junction elements, which are connected in series between thefirst terminal and the second terminal and in reverse directions to eachother, in response to a write signal, a potential of the one of thefirst terminal and the second terminal being higher than a potential ofthe other of the first terminal and the second terminal, and setting thetwo Magnetic Tunnel Junction elements in conditions corresponding to adirection of the write current; and when the power being supplied again,flowing currents through a first path from the first terminal to one ofthe two Magnetic Tunnel Junction elements and through a second path fromthe second terminal to the other of the two Magnetic Tunnel Junctionelements in response to the read signal, and setting logical values ofthe first terminal and the second terminal to be values corresponding toa difference of the conditions of the two Magnetic Tunnel Junctionelements.
 7. The holding data recovery method according to claim 6,wherein when setting the two Magnetic Tunnel Junction elements inconditions corresponding to the direction of the write current, stoppingthe write signal when a potential of a connection node of the twoMagnetic Tunnel Junction elements becomes a first level.